home *** CD-ROM | disk | FTP | other *** search
/ The Disc - MacWorld 1995 / PowerComputing (The Disc)(MacWorld 1995).ISO / mac / CDFACTOR / HCfactor / HumanCode / HumanCode.DXR / 00039_player script.ls < prev    next >
Encoding:
Text File  |  1995-07-14  |  11.7 KB  |  420 lines

  1. global gcurrlessonnumber, gcurrchapternumber, gstartupflag, gchapternumber, gindexmaplist, gFieldTop, gchaptertextheight, glessonnumber, gplaystatus, theDoubleClick, gColor, onIBM, gPauseMode, theQTMovie, gMoovOutTime, objChapterBtn, gSoundLevel, objVolumeBtn, gmasterfolderpath, gDelimiter, theBlitPict, gPictTransition, grectlist, galllessonlist, gallchapterlist, gPICTQTList
  2.  
  3. on sliderStillDown
  4.   showchaptername(the currentNo of objChapterBtn)
  5. end
  6.  
  7. on sliderMouseUp
  8.   donewchapter(gcurrlessonnumber, the currentNo of objChapterBtn, #pause)
  9. end
  10.  
  11. on setchapbtnloc chapternumber
  12.   slideLocSet(objChapterBtn, chapternumber)
  13. end
  14.  
  15. on volMouseStillDown
  16.   set gSoundLevel to the currentNo of objVolumeBtn - 1
  17.   setSoundLevel()
  18. end
  19.  
  20. on volMouseUp
  21.   setVolumeButtonLoc()
  22.   set gSoundLevel to the currentNo of objVolumeBtn - 1
  23.   setSoundLevel()
  24.   if gPauseMode then
  25.     puppetSound("Sosumi.snd")
  26.     updateStage()
  27.     repeat while soundBusy(1)
  28.     end repeat
  29.     puppetSound(0)
  30.   end if
  31. end
  32.  
  33. on setSoundLevel
  34.   QTSetAudioLevel(theQTMovie, getAt([0, 36, 73, 109, 146, 182, 219, 255], gSoundLevel + 1))
  35.   set the soundLevel to gSoundLevel
  36. end
  37.  
  38. on setVolumeButtonLoc
  39.   slideLocSet(objVolumeBtn, gSoundLevel + 1)
  40. end
  41.  
  42. on pushBtn
  43.   set btnCN to the castNum of sprite clickOn()
  44.   repeat while stillDown()
  45.     if rollOver(clickOn()) then
  46.       set the castNum of sprite clickOn() to btnCN + 1
  47.     else
  48.       set the castNum of sprite clickOn() to btnCN
  49.     end if
  50.     updateStage()
  51.   end repeat
  52.   set the castNum of sprite clickOn() to btnCN
  53.   updateStage()
  54. end
  55.  
  56. on settoplayingbtn
  57.   set gPauseMode to 0
  58.   set the castNum of sprite 10 to 4
  59.   updateStage()
  60. end
  61.  
  62. on settopausingbtn
  63.   set gPauseMode to 1
  64.   set the castNum of sprite 10 to 2
  65.   updateStage()
  66. end
  67.  
  68. on donewchapter newlessonnumber, newchapternumber, playstatus
  69.   if playstatus = #fastPlay then
  70.     if pictname(newchapternumber) = pictname(gcurrchapternumber) then
  71.       setchapbtnloc(newchapternumber)
  72.       showchaptername(newchapternumber)
  73.       settimecallback(newchapternumber)
  74.       set gcurrchapternumber to newchapternumber
  75.       set gplaystatus to #play
  76.       exit
  77.     end if
  78.   end if
  79.   watchon()
  80.   pausethemoov()
  81.   if (newlessonnumber <> gcurrlessonnumber) or gstartupflag then
  82.     disposethemoov()
  83.     set gcurrlessonnumber to newlessonnumber
  84.     set gchapternumber to getchapternumber(newlessonnumber)
  85.     set the locV of sprite 7 to (newlessonnumber * gchaptertextheight) + gFieldTop
  86.     set the foreColor of cast 32 to getAt(gColor, 1)
  87.     set the foreColor of line newlessonnumber of cast 32 to getAt(gColor, 2)
  88.     updateStage()
  89.     if gchapternumber = 0 then
  90.       set the visible of sprite 10 to 0
  91.       set the visible of sprite 13 to 0
  92.       set the visible of sprite 11 to 0
  93.       set the visible of sprite 12 to 0
  94.       set the visible of sprite 24 to 1
  95.       set the visible of sprite 24 to 0
  96.       updateStage()
  97.       showchaptername(0)
  98.       showpreview(gcurrlessonnumber)
  99.       watchoff()
  100.       exit
  101.     end if
  102.     slideListSet(objChapterBtn, gchapternumber)
  103.     if gchapternumber = 1 then
  104.       set the visible of sprite 13 to 0
  105.       updateStage()
  106.     else
  107.       set the visible of sprite 13 to 1
  108.       updateStage()
  109.     end if
  110.     if not gstartupflag then
  111.       set gstartupflag to 1
  112.     end if
  113.   end if
  114.   set the visible of sprite 10 to 1
  115.   updateStage()
  116.   if newchapternumber = gchapternumber then
  117.     set the visible of sprite 12 to 0
  118.     updateStage()
  119.     if qtkind(newchapternumber) = 0 then
  120.       set the visible of sprite 10 to 0
  121.       updateStage()
  122.     end if
  123.   else
  124.     set the visible of sprite 12 to 1
  125.     updateStage()
  126.   end if
  127.   if newchapternumber = 1 then
  128.     set the visible of sprite 11 to 0
  129.     updateStage()
  130.   else
  131.     set the visible of sprite 11 to 1
  132.     updateStage()
  133.   end if
  134.   if gchapternumber > 1 then
  135.     setchapbtnloc(newchapternumber)
  136.   end if
  137.   showchaptername(newchapternumber)
  138.   if TEXTName(newchapternumber) = EMPTY then
  139.     set the visible of sprite 22 to 0
  140.     updateStage()
  141.     if gstartupflag then
  142.       set the visible of sprite 24 to 1
  143.       set the visible of sprite 24 to 0
  144.       updateStage()
  145.       disposethemoov()
  146.       if pictkind(newchapternumber) <> 0 then
  147.         openpictfile(newchapternumber)
  148.       end if
  149.       if smallscreen(newchapternumber) then
  150.         showpreview(gcurrlessonnumber)
  151.       end if
  152.     else
  153.       set thePPC to pictPrevClear(gcurrchapternumber, newchapternumber)
  154.       if getAt(thePPC, 2) = 1 then
  155.         showpreview(gcurrlessonnumber)
  156.       else
  157.         if getAt(thePPC, 2) = 2 then
  158.           set the visible of sprite 24 to 1
  159.           set the visible of sprite 24 to 0
  160.           updateStage()
  161.         else
  162.           if getAt(thePPC, 2) = 3 then
  163.             set the visible of sprite 24 to 1
  164.             set the visible of sprite 24 to 0
  165.             updateStage()
  166.             showpreview(gcurrlessonnumber)
  167.           end if
  168.         end if
  169.       end if
  170.       if getAt(thePPC, 1) = 1 then
  171.         openpictfile(newchapternumber)
  172.       else
  173.         if (getAt(thePPC, 1) = 2) and (pictname(newchapternumber) <> pictname(gcurrchapternumber)) then
  174.           openpictfile(newchapternumber)
  175.         end if
  176.       end if
  177.     end if
  178.   else
  179.     if gstartupflag then
  180.       set the visible of sprite 24 to 1
  181.       set the visible of sprite 24 to 0
  182.       updateStage()
  183.       disposethemoov()
  184.       if pictkind(newchapternumber) <> 0 then
  185.         openpictfile(newchapternumber)
  186.       end if
  187.       if smallscreen(newchapternumber) then
  188.         showpreview(gcurrlessonnumber)
  189.       end if
  190.     else
  191.       set thePPC to pictPrevClear(gcurrchapternumber, newchapternumber)
  192.       if getAt(thePPC, 2) = 1 then
  193.         showpreview(gcurrlessonnumber)
  194.       else
  195.         if getAt(thePPC, 2) = 2 then
  196.           set the visible of sprite 24 to 1
  197.           set the visible of sprite 24 to 0
  198.           updateStage()
  199.         else
  200.           if getAt(thePPC, 2) = 3 then
  201.             set the visible of sprite 24 to 1
  202.             set the visible of sprite 24 to 0
  203.             updateStage()
  204.             showpreview(gcurrlessonnumber)
  205.           end if
  206.         end if
  207.       end if
  208.       if getAt(thePPC, 1) = 1 then
  209.         openpictfile(newchapternumber)
  210.       else
  211.         if (getAt(thePPC, 1) = 2) and (pictname(newchapternumber) <> pictname(gcurrchapternumber)) then
  212.           openpictfile(newchapternumber)
  213.         end if
  214.       end if
  215.     end if
  216.     openTEXTfile(newchapternumber)
  217.     set the visible of sprite 22 to 1
  218.     updateStage()
  219.   end if
  220.   if qtkind(newchapternumber) <> 0 then
  221.     if the movieid of theQTMovie = EMPTY then
  222.       openqtmovie(newchapternumber)
  223.       setintime(newchapternumber)
  224.       settimecallback(newchapternumber)
  225.     else
  226.       if qtname(newchapternumber) <> qtname(gcurrchapternumber) then
  227.         disposethemoov()
  228.         openqtmovie(newchapternumber)
  229.         setintime(newchapternumber)
  230.         settimecallback(newchapternumber)
  231.       else
  232.         if playstatus = #contPlay then
  233.           settimecallback(newchapternumber)
  234.         else
  235.           if intime(newchapternumber) >= outtime(gcurrchapternumber) then
  236.             settimecallback(newchapternumber)
  237.             setintime(newchapternumber)
  238.           else
  239.             setintime(newchapternumber)
  240.             settimecallback(newchapternumber)
  241.           end if
  242.         end if
  243.       end if
  244.     end if
  245.     if (playstatus = #play) or (playstatus = #contPlay) then
  246.       playthemoov()
  247.       set the visible of sprite 11 to 1
  248.       updateStage()
  249.       set gplaystatus to #play
  250.     else
  251.       if playstatus = #pause then
  252.         pausethemoov()
  253.         refreshthemoov()
  254.         set gplaystatus to #pause
  255.       end if
  256.     end if
  257.   else
  258.     setAt(getAt(gindexmaplist, gcurrlessonnumber), newchapternumber, 1)
  259.     disposethemoov()
  260.     settopausingbtn()
  261.   end if
  262.   if gstartupflag then
  263.     set gstartupflag to 0
  264.   end if
  265.   set gcurrchapternumber to newchapternumber
  266.   watchoff()
  267. end
  268.  
  269. on showchaptername chapternumber
  270.   set the text of cast 33 to chaptername(chapternumber)
  271.   updateStage()
  272. end
  273.  
  274. on openqtmovie chapternumber
  275.   set filepath to gmasterfolderpath & currlessonname() & gDelimiter & qtname(chapternumber)
  276.   QTOpenMovie(theQTMovie, filepath, gettherect(qtkind(chapternumber)))
  277.   if result() contains "Error" then
  278.     set the movieid of theQTMovie to EMPTY
  279.     exit
  280.   end if
  281.   setSoundLevel()
  282. end
  283.  
  284. on refreshthemoov
  285.   qtrefresh(theQTMovie)
  286. end
  287.  
  288. on disposethemoov
  289.   QTDispose(theQTMovie)
  290. end
  291.  
  292. on playthemoov
  293.   settoplayingbtn()
  294.   QTPlay(theQTMovie)
  295.   set gPauseMode to 0
  296. end
  297.  
  298. on pausethemoov
  299.   settopausingbtn()
  300.   QTPause(theQTMovie)
  301.   set gPauseMode to 1
  302. end
  303.  
  304. on setintime chapternumber
  305.   QTSetCurrTime(theQTMovie, intime(chapternumber))
  306. end
  307.  
  308. on settimecallback chapternumber
  309.   set gMoovOutTime to outtime(chapternumber)
  310. end
  311.  
  312. on callbackplay
  313.   setAt(getAt(gindexmaplist, gcurrlessonnumber), gcurrchapternumber, 1)
  314.   set cb to qtcallback(gcurrchapternumber)
  315.   if cb = 4 then
  316.     donewchapter(gcurrlessonnumber, gcurrchapternumber + 1, #fastPlay)
  317.   else
  318.     if cb = 1 then
  319.       donewchapter(gcurrlessonnumber, gcurrchapternumber + 1, #contPlay)
  320.     else
  321.       if cb = 2 then
  322.         pausethemoov()
  323.         disposethemoov()
  324.         donewchapter(gcurrlessonnumber, gcurrchapternumber + 1, #play)
  325.       else
  326.         if cb = 3 then
  327.           if gcurrlessonnumber = glessonnumber then
  328.             pausethemoov()
  329.             disposethemoov()
  330.             donewchapter(1, 1, #play)
  331.           else
  332.             pausethemoov()
  333.             disposethemoov()
  334.             donewchapter(gcurrlessonnumber + 1, 1, #play)
  335.           end if
  336.         end if
  337.       end if
  338.     end if
  339.   end if
  340. end
  341.  
  342. on openTEXTfile chapternumber
  343.   global gmasterfolderpath, gDelimiter
  344.   fileIOread(gmasterfolderpath & currlessonname() & gDelimiter & TEXTName(chapternumber))
  345.   set the text of cast 86 to the result
  346. end
  347.  
  348. on openpictfile chapternumber
  349.   set pictfilepath to gmasterfolderpath & currlessonname() & gDelimiter & pictname(chapternumber)
  350.   set destrect to gettherect(pictkind(chapternumber))
  351.   blitPictDrawFile(theBlitPict, pictfilepath, destrect, "copy", gPictTransition, 0)
  352. end
  353.  
  354. on gettherect kind
  355.   return getAt(grectlist, kind)
  356. end
  357.  
  358. on getchapternumber lessonnumber
  359.   return getAt(getAt(galllessonlist, lessonnumber), 2)
  360. end
  361.  
  362. on intime chapternumber
  363.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 4)
  364. end
  365.  
  366. on outtime chapternumber
  367.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 5)
  368. end
  369.  
  370. on qtcallback chapternumber
  371.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 10)
  372. end
  373.  
  374. on pictname chapternumber
  375.   if onIBM then
  376.     return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 7)
  377.   else
  378.     return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 6)
  379.   end if
  380. end
  381.  
  382. on pictkind chapternumber
  383.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 8)
  384. end
  385.  
  386. on qtname chapternumber
  387.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 2)
  388. end
  389.  
  390. on qtkind chapternumber
  391.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 3)
  392. end
  393.  
  394. on currlessonname
  395.   return getAt(getAt(galllessonlist, gcurrlessonnumber), 1)
  396. end
  397.  
  398. on chaptername chapternumber
  399.   if chapternumber = 0 then
  400.     return EMPTY
  401.   else
  402.     return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 1)
  403.   end if
  404. end
  405.  
  406. on pictPrevClear prevparagraph, nextparagraph
  407.   set prevCh to getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), prevparagraph), 9)
  408.   set nextCh to getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), nextparagraph), 9)
  409.   return [getAt(getAt(getAt(gPICTQTList, 1), prevCh), nextCh), getAt(getAt(getAt(gPICTQTList, 2), prevCh), nextCh)]
  410. end
  411.  
  412. on smallscreen paragraph
  413.   return getAt(getAt(gPICTQTList, 3), getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), paragraph), 9))
  414. end
  415.  
  416. on TEXTName chapternumber
  417.   global gallchapterlist, gcurrlessonnumber
  418.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 11)
  419. end
  420.